Software Plan
Requested by: Dr. Darren Lim
Assistant Professor
Department of Computer Science
Siena College
Mrs. Pauline White
Visiting Instructor
Department of Computer Science
Siena College
Generation Java
ID-10t Consultants
Prepared by: Kevin Mulcahy
Christine Fox
Nick Miller
Jordan Steans
September 19, 2008
Generation Java
Software Plan
Table of Contents
SYSTEM DEFINITION
1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 System Justification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Goals for the System and Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Constraints on the System and on the Project . . . . . . . . . . . . . . . . . . . . . . . ..3
1.5 Functions to be Provided . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.6 User Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Development/Operating/Maintenance Environments . . . . . . . . . . . . . . . . . .4
1.8 Solution Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.9 System Acceptance Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.10 Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
PROJECT PLAN
2.1 Project Management & Development Model (Waterfall Model). . . . . . . . . 6
2.2 Team Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Preliminary Staffing and Resource Requirements . . . . . . . . . . . . . . . . . . . . 7
2.4 Preliminary Development Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Project Monitoring and Control Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Tools and Techniques to Be Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8 Testing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9
2.9 Supporting Documents Required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.10 Manner of Demonstration and Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9
2.11 Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
APPENDICES
Appendix A: Team Resumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Appendix B: Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
System Definition |
|||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.1 |
Problem Definition |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Dr. Lim and Mrs. White have informed us that they are looking for a program that will give them the ability to create and distribute java quizzes to their students. Similar to JavaBat, the program should have the ability to compile and run the submitted java code and output grading feedback based the code's correctness. Students will be restricted to quizzes that they have permission to access, and all results will be sent directly to the instructor in a confidential manner. The program will be used via the internet, so it must be compatible with all major browsers (including, but not limited to: Internet Explorer, Mozilla Firefox, and Safari). |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.2 |
System Justification |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The purpose of our quiz program will be to provide features similar to those of JavaBat, with Dr. Lim and Mrs. White (and possibly other professors) having the ability to select the problems that students will be assigned. This will promote an increase in the students' skills in java programming, while, at the same time, allow for quicker and more efficient grading of the assigned problems. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.3 |
Goals for the System and Project |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The goal of the Generation Java project is to build a secure, flexible, easy to maintain web-based environment for creating and evaluating Java quizzes. By adhering to this goal, we hope to help the clients improve their students skill set in java programming. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.4 |
Constraints on the System and on the Project |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The most important constraint on the project is there must be three specific user account types, an administrator, a teacher and a student. Depending on the users account type, they will be able to access more or less options while running the application. Along with the application, it is web based and must be compatible with all major web browsers. Regarding the system, all code must compile with the Java 1.6 compiler. Also, the system needs to maintain whether each student has viewed, tried and/or completed a question. Finally, it is essential data can be stored on a database. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.5 |
Functions to be Provided |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
· An online database to store the profiles of the administrator, teachers, students and to store a bank of questions. · Online forms for the administrator, teachers, and students to use for registering accounts and updating profile information. · A secure login system for all account types in order to manage personal information safely. · Compatibility with all major web browsers, such as Mozilla Firefox, Internet Explorer, Netscape Navigator, and Safari. · Teachers’ ability to add questions, specify a time at which a question becomes available to students, and view results. · Administrator ability to change permissions, view, edit, and delete any question and have access to any student or teacher account. · Students' ability to select a set of questions and to type code which can be compiled to answer a question. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.6 |
User Characteristics |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Three kinds of users can be identified: the administrator(s), the course instructor(s), and the course student(s). · The administrator maintains and configures the system and user permissions. · The course instructor defines and builds Java quizzes, configures question distribution, and invokes the grading module to monitor and record user progress. · The course student defines answers to quiz questions and maintains their personal information. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.7 |
Development/Operating/Maintenance Environments |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The system will be developed on the Siena College Software Engineering workstations. These workstations are a Dell Dimension 4550 with Windows XP and an Apple iMac with OS X. The operation of this system will be accessible from any computer system with Internet access, though only approved users will be issued login identification and passwords by an administrator and/or teacher. The maintenance of this system will be determined at a future date. (An updated version of this section will be supplied when the software engineering facility is available.)
|
||||||||||||||||||||||||
1.8 |
Solution Strategy |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The project team will use the Linear Sequential Model (also known as the Classic Waterfall Model) to develop the product requested by our client. The Linear Sequential Model involves the following major activities: · Project Definition – The project team will meet with the clients and decide what the problem is that needs to be solved. · Analysis and Requirements – The project team will meet with our clients and document the requirements of the new system. · Design of the Solution – The project team will translate the system requirements into software requirements. · Code and Test the Solution – The project team will translate the software requirements into a programming language. As time passes, the program will continuously be checked to meet the requirements of the clients. This will take place in the Spring 2009 semester. · Install and Maintain - This step involves the actual installation of the software product. Documentation that will assist the client in using and maintaining the system will be provided in the Spring 2009 semester. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.9 |
System Acceptance Criteria |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The web-based system will allow for a number of online activities including, but not limited to the following:
3. Users to access only questions they are granted permission to take.
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
1.10 |
Sources of Information |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The major source of information for this project resulted from meetings with our clients Dr. Darren Lim and Mrs. White. Other sources of information include Software Engineering lecture by Dr. Tim Lederman and previous Software Engineering Teams' projects. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
Project Plan |
|||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.1 |
Project Management & Development Model |
||||||||||||||||||||||||
|
(Waterfall Model) |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
Software Plan |
||||||||||||||||||||||||
|
Defines the problem and establishes goals and requirements to help explain how the problem will be solved. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Requirements Specification |
||||||||||||||||||||||||
|
Involves all life-cycle activities devoted to identification of user requirements, analysis of the requirements to derive additional requirements, documentation of the requirements as a specification, and validation of the documented requirements against user needs, as well as processes that support these activities (DoD). |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Preliminary Design |
||||||||||||||||||||||||
|
The process of defining the software architecture, components, modules, interfaces and data for a software system to satisfy specified requirements (IEEE). |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Detailed Design |
||||||||||||||||||||||||
|
The process of refining and expanding the preliminary design of a system or component to the extent that the design is sufficiently complete to be implemented (IEEE). This is a complete design, which includes finalized database designs, user designs, and complete steps or storyboards. |
||||||||||||||||||||||||
|
Acceptance Test |
||||||||||||||||||||||||
|
Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system (IEEE). This is where the software is demonstrated and shows that the software meets all functional and non-functional requirements. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.2 |
Team Structure |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The team structure is a democracy with the Team Leader making the final decision on any conflict that could not be decided upon by majority vote. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The roles for each member are defined as follows: Team Leader organizes team meetings and decides the workload for each member of the team.
Webmaster creates and maintains the project web page.
Project Manager is responsible for compilation and organization of documentation related to project work.
Systems Administrator is responsible for installing software and making sure the development workstations are working correctly. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.3 |
Preliminary Staffing and Resource requirements |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The ID-10t Consultants’ team that is responsible for the long-term planning, development and operation of the java grading computing service will undertake the work of the Generation Java Project at Siena College. The personnel is being funded by their enrollment in the Siena College Software Engineering course and will work with the tools provided in the Siena College Software Engineering lab (Tools to be defined after completion of the lab). The planning numbers will of course be revised as more detailed requirements emerge from the clients, Dr. Darren Lim, Assistant Professor of the Siena College Computer Science Department, and Mrs. Pauline White, Visiting Instructor of the Siena College Computer Science Department, and as detailed planning of the project proceeds. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.4 |
Preliminary Development Schedule |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
This section will become available once our team is able to gain access to the software engineering room. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.5 |
Project Monitoring and Control Mechanism |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Weekly project meetings at Siena College and via conference calls (if required) will be utilized to drive the project from start to finish. The Project Schedule will be the document used to monitor the progress of the project and all parties will be held to their level of responsibility regarding the schedule. Topics discussed weekly will include: responsibilities of parties involved in the project, project requirements, progress of development, punch lists as required, and any questions or concerns regarding the project. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.6 |
Tools and Techniques to Be Used |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Since the Siena College Software Engineering lab is still currently under construction, the team is not able to define the exact tools to be used, but will offer a general overview of the various programs to be utilized but not limited to. To design, develop, and plan the project and website, the team will utilize Adobe CS3: Dreamweaver, Photoshop, Fireworks, Flash, Microsoft Office, and Microsoft Project. The team will also use PHP, HTML, XHTML, CSS and any other languages necessary to complete the project, while complying with project requirement specifications and constraints to be further defined as the project proceeds in order to complete the project software development. Techniques to be used will include techniques learned in the Siena College Software Engineering course and the skills and knowledge presented by the collaboration of team members, clients, and any other parties of the project. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.7 |
Programming Languages |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
ID-10t will be taking advantage of multiple languages for both our survey project and our team website. These languages include HTML, XHTML, JavaScript, PHP, CSS and either MySQL or Oracle. This will be determined by the team at a later date. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.8 |
Testing Requirements |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Throughout the creation of our project, there will be extensive testing of all of our material. Members of our team will do the testing for this project. The client will receive the results of the tests and will be asked to be involved in the testing process. |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.9 |
Supporting Documents Required |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The supporting documents will be provided to our client by the following dates:
|
||||||||||||||||||||||||
2.10 |
Manner of Demonstration and Delivery |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The presentations will take place on the following dates. The purpose of the presentations is to inform our client of the progress that we have made through the semester. These presentations also aim to validate our team’s understanding of the clients’ specified requirements for the project: 1. Project Plan - September 18, 2008
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
2.11 |
Sources of Information |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
The major source of information for this project resulted from meetings with our clients Dr. Darren Lim and Mrs. White. Other sources of information include Software Engineering lecture by Dr. Tim Lederman and previous Software Engineering Teams' projects. |
ID-10t Consultants
Appendices
Appendix A: Team Resumes
Kevin Mulcahy
Christine Fox
Nick Miller
Jordan Steans
Kevin T. Mulcahy
kevint.mulcahy@gmail.com
Present Address: Permanent Address:
Siena College, SPOB 3160 201 Squam Road
515 Loundon Road Highland Lakes, NJ 07422
Loudonville, NY 12211 (973)-764-5561
Cell: (862)-266-4130
Objective
To obtain a challenging position in a field that utilizes my knowledge and allows for further development and learning.
Education
Anticipated – Siena College, Loundonville, NY
B.S. in Computer Science, Minor in Business, May 2009
GPA: 3.72/4.0 in Major 3.63/4.0 overall
Computer Skills
Microsoft Windows 98, ME, XP, Vista; Microsoft Office: Word, Excel, PowerPoint; Microsoft Visual Basic 6.0; Microsoft IE 6, 7; Mozilla/Firefox; Java BlueJ IDE, Eclipse IDE; Adobe Dreamweaver; Adobe Firework CS3; HTML; JavaScript; CSS; PHP; MySQL
Work Experience
Field Office Manager – Gardner M. Bishop, Inc.
Scanning and Storing Shipping Tickets on Company Server
Compiling Weekly Payroll
Scheduling On-Site Deliveries
Tracking Pay Quantities
Certified Lifeguard – Highland Lakes Country Club
Certifications: Waterfront Lifeguarding and First Aid
CPR/AED for the Professional Rescuer
Water Safety Instructor
Computer Science Tutor – Moderating Group Tutoring Sessions in CS Lab
Honors/Awards
Member of Upsilon Pi Epsilon (UPE) – International Computer Science Honor Society
Dean’s List 2005-2008
Presidential Scholarship recipient 2005-present
Christine Fox
171 WoodDale Drive · Ballston Lake NY 12019 · (518)-877-5423
Objective
To obtain an job in the computer science field.
Education
Siena College, Loudonville, NY
B.S. Computer Science, Business Minor, May 2009
Computer Skills
Programming in Visual Basic, Java, HTML, PHP, C++ and Assembly
Database Background in Oracle/SQL
Related Experience
Student Worker for Blackboard Administrator, Siena College, June 2008 –Present
· HTML programming for educational technology help page in role of Web Developer
· Evaluate higher education technologies in role of Educational Technician
· Provide support throughout training sessions including initial computer set-up and questioning during session
· Selected to represent Academic Affairs at summer orientation programs, interacted with parents and new students informally and at formal informational poster sessions.
Student Assistant to the Systems Administrator, Siena College, May 2007 –Present
· Set-up and installation of new computers
· Perform daily maintenance on Science Department computers
Student Worker, Science College Computer Science Department, September 2006- Present
· Assist faculty with projects and labs
Tutor, Siena College Computer Science Department, March 2007 – Present
· Assist students with labs and homework assignments primarily in Visual Basic and Java
Additional Experience
Student Worker, Siena College School of Science Office, May 2007 – Present
· Assist laboratory technicians with preparation of labs
Page, Clifton Park – Halfmoon Public Library, June 2004 – August 2005
· Handled distribution of books and other materials
Relevant Course Work
Introduction to Computer Science, Introduction to Java, Data Structures, Assembly Language and Computer Architecture, Object-Oriented Design and Programming, Operating Systems, Database Management, Web Design, Software Engineering, and Parallel Processing
Activities
· On-line, Registration & Accounting Chair, Relay for Life, 2006 – Present
· Mentor, Leukemia and Lymphoma Society Team in Training Program, 2004 – 2007
· Treasurer, Padua Hall Council, 2007 – 2008
· President/Founder, Siena College Association for Computing Machinery - Women Chapter, 2007 – Present
Nicholas A. Miller
3 Lapham Drive
Albany, New York 12205
518-429-0441
Objective:
To obtain a position in the Computer Science field, utilizing my programming abilities.
Education:
Siena College, Loudonville, N.Y.
B.S. in Computer Science, cum laude, January 2009
Minor in Mathematics and Business
GPA: 3.5/4.0
Dean’s List 2007-2008; Presidential Scholar 2006 – Present
Course Experience:
Computer Science
· Intro to Computer Science, Visual Basic
· Data Structures
· Object Oriented Programming
· Analysis of Algorithms
· Computer Architecture/Assembly Language, C++
Mathematics
· Calculus I, II, & II
· Discrete Structures I & II
· Number Theory
Experience:
Student Assistant, SUNY System Administration, Albany, N.Y., May 2007 - 2008
· Used OmniUpdate, Fireworks and Dreamweaver to manage and update web pages
· Helped develop an application used to manage Board of Trustees Meetings
· Learned HTML, XML, JavaScript and Coldfusion
· Ran server-wide searches for personal information violations
· Became more familiar with Microsoft Excel, Word and PowerPoint
Additional Experience:
In-home Serviceman, Lake Electronics, Albany, N.Y., 2008 - Present
· Picked up, delivered, and installed all electronics
Computer & Language Skills:
Computers: Microsoft Word, PowerPoint, Excel, Visual Basic, C, Java, Unix, HTML, XML, ColdFusion, Fireworks
Languages: Spanish
Jordan B Steans
510 Broadway, Apt 25 / Saratoga Springs, NY 12866
jb25stea@siena.edu
Education
Siena College, Loudonville, NY
B.S. in Computer Science, May 2009
Minor: Business
Major GPA: 3.14
Experience
LXR Luxury Resorts & Hotels – Saratoga Springs, NY
Accountant March 2008–Present
· Support the Director of Finance in directing budget and cost controls, financial analysis, and accounting procedures at The Saratoga Hilton
· Analyze, verify and post transactions to journals, ledgers and other records
· Update, investigate and correct accounting entries and ledgers as needed
· Participate in the reconciliation of complex transactions and general ledger accounts
Xanterra Parks & Resorts, Inc – Saratoga Springs, NY
Accounting Clerk May 2007-January 2008
· Managed overall accounts payables processing for the Gideon Putnam Resort & Spa, and Roosevelt Baths & Spa
· Administered over accounts receivables for the Gideon Putnam Resort & Spa, including tax exempt verification
· Maintained accounts payables and miscellaneous balance sheets/ledgers
· Verified on a daily basis the balance of in-house safe and bank deposits
WOW Restaurants, Inc – Saratoga Springs, NY
Corporate Manager May 2005-January 2007
· Administered/ analyzed entry process of daily sales, including accounts payables and receivables for Wheatfields Restaurant & Bar, JT’s Shrimp Shack and a consulting firm, Restaurant Consulting Partners, LLC
· Reorganized and developed new training procedures to be implemented for use internally and externally
· Administered overall human resources/ payroll process: tax fillings, insurances, and benefits
Xanterra Parks & Resorts, Inc – Saratoga Springs, NY
Accounting Clerk Summer 2005
· Compiled invoices, statements, and overall group billing process for the Gideon Putnam Resort & Spa
· Trimmed accounts receivables by 75% during my tenure
Additional Experience
Intern, Saratoga Rheumatology, Gansevoort, NY, April 2005-May 2005
Accounts Payable Assistant, Fort William Henry Corporation, Lake George, NY, Summer 2004
Reservations Manager, Fort William Henry Corporation, Lake George, NY, Summer 2003
Asst. Manager/ Payroll Admin., Jewel’s Donuts, Inc, Glens Falls, NY June 2001-August 2002
Computer Skills
Accounting: Epicor, Aspen 360, Lawson, PeopleSoft, QuickBooks, Microsoft Great Plains
Microsoft Office: Word, Excel, Outlook, Power Point, Access
POS/PMS Systems: Hilton OnQ, Aloha, Restaurant Manager, Digital Dining, Micros, Innfinity Hospitality Systems
Other: HTML/XHTML, PHP, Java, MySQL, Oracle, Microsoft Visual Basics
Honors/Awards
Franciscan Scholar, Siena College
Appendix B: Glossary of Terms
CSS – Cascading Style Sheets – These are used to describe a specific style for a web page or set of pages, a website.
Database - A collection of data arranged for ease and speed of search and retrieval.
Internet - A vast computer network linking smaller computer networks worldwide. The Internet includes commercial, educational, governmental, and other networks, all of which use the same set of communications protocols.
IE – Internet Explorer – Microsoft based program used for browsing the Internet.
MySQL – A Multithreaded, multi-user Relational Database Management System.
PHP – Hypertext Preprocessor – An open source (free) programming language that is used for dynamic pages and is a high-level scripting language.
Profiles – User created accounts that will be customizable according to each specific person.
XHTML – Extensible HyperText Markup Language – has same capabilities of HTML but is more restricted to allow for conformity among multiple platforms.